﻿<!DOCTYPE html>
<html><head>
  <title>单一字形 - 简介</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=8">
  <meta name="generator" content="Help &amp; Manual">
  <meta name="keywords" content="Bezier,Bézier,Contour,Contour,Contour Direction,Contour Mode,Curve,Point,Point Mode,Simple Glyph">
  <meta name="description" content="A simple glyph consists of a series of contours. Contours are composed of straight lines and curves. Straight lines are definedby two consecutive on-curve points. Curves are...">
  <link type="text/css" href="default.css" rel="stylesheet">
  <link type="text/css" href="custom.css" rel="stylesheet">
  <style type="text/css" media="screen">
      html,body { margin:0;
        padding:0;
       background: #ffffff;
      }
      div#printheader { display: none; }
      #idheader {
        width:100%;
        height:auto;
        padding: 0;
        margin: 0;
        position: fixed;
        top: 0;
        z-index: 2;
      }
      /* The "min-height" for "#idheader table" ensures that the (blue) header of the topic
         has at least the same height as the header of the navigation panel left of it */
      #idheader table {background: #2C5D88; min-height: 59px }
      #idheader h1 span { color: #FFF }
      #idnav {
        text-align: right;
        width: 126px;
        vertical-align: middle;
      }
      #idnav a { text-decoration: none }
      #idnav span {
        display: inline-block;
        width: 24px;
        height: 24px;
        margin-left: 4px;
       background:url('hm_webhelp_buttons_grey.png') top left no-repeat;
      }
      #idnav a span {
       background-image:url('hm_webhelp_buttons_white.png');
      }
      #idnav a span:hover {
       background-image:url('hm_webhelp_buttons_orange.png');
      }
      #idnav span.hmbtnprev {background-position: 0 -32px }
      #idnav span.hmbtnnext {background-position: -24px -32px }
      #idnav span.hmbtntop  {background-position: -48px -32px }
      #idnav span.hmbtntoggle  { width: 20px;background-position: -70px -32px }
      #idnav span.hmbtnprint  {background-position: -88px -32px }
      #callout-table, #overview-table {display:block; position:relative; top:0; left:0;}
      #callout-icon {display:block; position:absolute; top:-11px; left:-11px;}
      #callout-icon-flag {display:block; position:absolute; top:-11px; left:-8px;}
      #callout-table a {text-decoration: none; color:blue;}
      #callout-table a:visited {text-decoration: none; color:blue;}
      #overview-table a {text-decoration: none; color:black;}
      #overview-table a:visited {text-decoration: none; color:black;}
      #callout-table a:hover, #overview-table a:hover {text-decoration: underline;}
      p.help-url { margin: 20px 0 5px 0; text-align: center; font-size: 80%; text-decoration: none }
      #switchtoggles { text-align: right; padding: 0 2px 0 0; font-size: 90%; }
      .sync-toc { color: #FFF; font-size: 8pt; font-weight:bold; display: none; }
      .sync-toc a { color: #FFF; text-decoration: none; font-weight:bold;}
      .sync-toc a:visited { color: #FFF; }
      .sync-toc a:hover { text-decoration: underline; }
      a.hmanchor { display: inline-block; margin-top: -4em; padding-top: 4em }	
  </style>
  <style type="text/css" media="print">
      div#idheader, img.dropdown-toggle-icon, p.help-url { display:none }
  </style>
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript" src="helpman_settings.js"></script>
  <script type="text/javascript" src="helpman_topicinit.js"></script>
  <script type="text/javascript" src="hmpopup_html.js"></script>
</head>
<body>
<div id="printheader"><h1 class="p_Heading1" style="page-break-after: avoid;"><span class="f_Heading1">单一字形 - 简介</span></h1>
</div>
<div id="idheader" style="position: relative;">
<div id="idheaderbg">
<table style="width:100%;border:none;margin:0px;" cellspacing="0" cellpadding="0">
 <tbody><tr>
   <td class="topichead" style="text-align:left; vertical-align:bottom">
     <p class="crumbs"><b>导航：</b>&nbsp;编辑字体 &gt; 编辑字形 &gt; 单一字形 &gt;</p>
     <h1 class="p_Heading1" style="page-break-after: avoid;"><span class="f_Heading1">单一字形 - 简介</span></h1>
   </td>
   <td class="topichead" id="idnav">
     <a href="emptyglyphs.html" title="上一主题"><span class="hmbtnprev"></span></a>
     <a href="welcometothefontcreator.html" title="返回首章"><span class="hmbtntop"></span></a>
     <a href="contours.html" title="下一主题"><span class="hmbtnnext"></span></a>
   </td>
 </tr>
</tbody></table>
</div>
</div>
<div id="idcontent" style="margin-top: 0px;"><div id="innerdiv">
<!--ZOOMRESTART-->
<p class="p_Normal">一个单一字形由一系列轮廓线(Contour)组成。轮廓线由直线和曲线组成。直线由两个连续的贴附曲线(on-curve)的控点来定义。曲线由一系列控点来定义，要么是三次贝塞尔(Bézier)曲线，要么是二次<a href="javascript:void(0);" onclick="return hmshowPopup(event, popid_1343153496X, this);" class="popuplink">贝塞尔曲线</a>。</p>
<p class="p_Normal">TrueType 轮廓(Outline)使用二次（二阶）贝塞尔曲线，而 CFF（也称为 PostScript 或 Type 1）轮廓使用三次（三阶）贝塞尔曲线。曲线总是以贴附曲线的控点开始和结束。二次曲线在起点和终点之间有一个脱离曲线(off-curve)的控点，而三次曲线有两个脱离曲线的控点。这种脱离曲线的控点也称为贝塞尔控点(BCP)。</p>
<p class="p_Normal">但是，对于基于 TrueType 的轮廓，此规则有一个例外：如果贴附曲线的控点恰好位于两个脱离曲线的控点之间，则贴附曲线的控点可以被删除，因为它将变成一个假想的贴附曲线的控点。 因此，在定义基于 TrueType 的轮廓时，任何脱离曲线控点和贴附曲线控点的组合都是可允许的。</p>
<p class="p_Normal">要区分轮廓线和控点相关操作，您可以选择在轮廓线或控点模式下工作。您可以随时在轮廓线和控点模式之间切换：一是从<span style="font-weight:bold;">视图</span>菜单中选择适当的<span style="font-weight:bold;">模式</span>；二是点击<span style="font-weight:bold;">绘图</span>工具栏上的两个三角形按钮；三是双击字形编辑窗口中的任意位置。</p>
<p class="p_Normal"><img style="margin:0;width:2.0417in;height:1.3750in;border:none" src="fontcreator_084_contour_direction.png"></p>
<p class="p_Normal">所有轮廓线都有一个方向。对于<span style="font-weight:bold;">基于 TrueType 的轮廓线</span>，也就是使用<span style="font-weight:bold;">二次贝塞尔曲线</span>的轮廓线，其严格意义上方向的解释如下：</p>
<p class="p_Normal">需要填充黑色的轮廓线必须是<span style="font-weight:bold;">顺时针方向</span>的。如果我们想在现有轮廓线内部创建一个白色区域，我们必须使新建轮廓线的方向为逆时针。轮廓线的方向是通过观察控点索引值的增减趋势来确定的。控点索引从小到大的方向就是轮廓线的方向。轮廓线方向的一般规则应该是“黑色在右边”。以字形“O”为例，外轮廓线应该顺时针行进，内轮廓线是逆时针。</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">字符“4”是由两个轮廓线来表示的。您在该字形中看到的黑色区域是一个轮廓线，里面的白色区域是另一个轮廓线。</p>
<p class="p_Normal"><img style="margin:0;width:5.0417in;height:4.5208in;border:none" src="fontcreator_015_simple_glyph.png"></p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">对基于 CFF 的轮廓线，其方向截然相反，因此需要填充黑色的轮廓线必须是逆时针方向。</p>
<p class="p_Normal">这些规则可能非常令人困惑，但幸运的是，FontCreator 可以检测到方向错误的轮廓线。单击<b>校验面板</b>上的<b>校正轮廓线方向</b>按钮来更正单一字形中全部有错误的轮廓线方向，或从<b>编辑</b>菜单中选择<b>更改轮廓线方向</b>来更改所选轮廓线的时针方向。</p>
<p class="p_Normal">如果字形轮廓由基于二次和三次的轮廓线混合组成，在字形编辑窗口的左上角会有提示显示，状态栏还将显示有关轮廓线的信息。</p>
<p class="p_Normal">通过<b>绘图工具栏</b>，您可以对字形的修改方式进行更改。在<b>字形编辑</b>窗口中，您可以通过在编辑区域内双击、从<b>视图</b>菜单的<b>选择模式</b>或使用<b>绘图工具栏</b>上的相应按钮在<b>轮廓线</b>和<b>控点</b>模式之间进行切换。</b>轮廓线模式和控点模式的主要区别在于，在轮廓线模式下，所有操作都与轮廓线相关，而在控点模式下，您可以更改轮廓线的部分特性（例如移动、添加和删除控点）。</p>
<p class="p_Normal">拖动控点或轮廓线的同时按住 Shift 键可以限制移动方向，也就是只能沿水平(X)或垂直(Y)方向移动。在字形编辑窗口中的控点模式下，矩形点代表贴附曲线的控点，圆形点代表脱离曲线的控点。</p>
<p class="p_NoteorTip"><span class="f_NoteorTip">提示： 您可以按箭头键，对所选定的一个或多个轮廓线或控点，进行上下左右的移动。按住 Ctrl 键同时按箭头键，可以进行更精细的移动。按住 Shift 键同时按箭头键，可以进行大幅度的移动。</span></p>
<p class="p_NoteorTip"><span class="f_NoteorTip">注意：校验功能在 FontCreator 家庭版中不可用。</span></p>
<!--ZOOMSTOP-->
</div></div>
<script type="text/javascript">
  $(document).ready(function(){
    $(window).bind('resize', function() {
      var y = $('#idheader').height();
      $('#idcontent').css('margin-top', y);
      var par = window.parent;
      if ($( par ).width()<= $( window ).width()+20) {
        $('#idheader').css('position', 'relative');
        $('#idcontent').css('margin-top', 0);
        $('#idbacktotop').css('display', 'block');
        $('.hmanchor').css('margin-top', -20);
	$('.hmanchor').css('padding-top', 20);
      }
      else {
        $('#idheader').css('position', 'fixed');
        $('#idcontent').css('margin-top', $('#idheader').height());
        $('#idbacktotop').css('display', 'none');
        $('.hmanchor').css('margin-top', -y-20);
	$('.hmanchor').css('padding-top', y+20);
      }
    });
    $(window).resize(); //trigger event for initially small displays
  });
</script>
</body></html>